-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
meta: Add RELEASE.md #3224
base: master
Are you sure you want to change the base?
meta: Add RELEASE.md #3224
Conversation
5. **Day 14:** Community announcement and gradual provisioners upgrade. | ||
6. **Day 16:** Deploy `rusk-vX.Y.Z` to **Mainnet**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't "provisioner upgrade" the same of "deploy to mainnet"?
What's the difference?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't "provisioner upgrade" the same of "deploy to mainnet"?
What's the difference?
People already deploying the binary, but thinking about it it doesn't make a whole lot of sense since we'll specify an upgrade is active after a given block height into the future anyway if it's a protocol change. Maybe it makes sense to specify a minimum amount of time/blocks a protocol change needs to be activated.
In terms of the dates mention, they're just examples. Feel free to suggest a different time frame.
1. **Unit Tests:** Every PR must pass. | ||
2. **Integration Tests:** Wallet, SDKs, contracts, circuits. | ||
3. **Network Tests:** Simulate large-scale node clusters. | ||
4. **Compatibility Tests:** Ensure backward compatibility with old node versions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would change "old node versions" to "previous cluster"
- **Devnet:** `X.Y.Z-rc` | ||
- **Testnet:** `X.Y.Z-beta` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't the Devnet serve as the beta environment and the Testnet act as the Release Candidate? Since the Release Candidate is expected to be more stable than the beta, it seems more logical for it to be deployed on the Testnet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree
- **Creation:** Every 1-3 months or as needed. | ||
- **Hotfixes:** Created directly on the (affected) release branch. | ||
|
||
--- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I personally see no purpose of these separators, just make the file more cluttered, when viewing as MD rather than raw text.
- Summary of changes. | ||
- Migration steps (if applicable). | ||
- Framework upgrade details. | ||
- **Changelog Management:** Use automated changelog generation from PR labels (`breaking-change`, `enhancement`, `bug-fix`). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a note – for Web Apps, @kieranhall has investigated automated changelog generation some time ago. However, seems like we couldn't find a solution that suits our needs, given the current way we do the change log.
We still quite often have merge conflicts, related to the changelog, so I am not against an automated solution. But we might need to discuss with the rest of the tech team and see if we can do something similar to what others are doing, so to integrate such solution for us too.
- **Policy:** Updated weekly, deploying directly to the Devnet environment. | ||
|
||
### Release Branches (`rusk-release-vX.Y`) | ||
- **Purpose:** Stable releases for mainnet or testnet deployments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am a bit confused, especially with the 7. Environment Versioning Policy stating that testnet is beta (well, I think it should be RC, see the comments there).
If so, testnet should be for the rc branches, while the mainnet for the stable branches (rusk-release-vX.Y) only, no?
Resolves #3223
This PR introduces a
RELEASE.md
outlining a proposed release process for the Rusk monorepo. It covers branching, tagging conventions, a release lifecycle, testing phases and artifact publishing.